package com.whmall.service.crm.module.suppliercreditscore.service;

import com.whmall.component.entity.dto.PageReqDTO;
import com.whmall.component.entity.dto.PageRspDTO;
import com.whmall.service.crm.entity.dto.suppliercreditscore.*;

import java.util.List;
import java.util.Map;

/**
 * Author：yangdong
 * Date：2020/12/12
 * Description：
 */
public interface SupplierCreditScoreService {

    /**
     * 分页查询
     * @param pageReqDTO 分页参数
     * @param queryReqDTO
     * @return
     */
    PageRspDTO<SupplierCreditScoreRspDTO> page(PageReqDTO pageReqDTO, SupplierCreditScoreQueryReqDTO queryReqDTO);

    /**
     * 变更历史-分页查询
     * @param id 供应商ID
     * @param pageReqDTO 分页参数
     * @param queryReqDTO 查询参数 查询参数
     * @return
     */
    PageRspDTO<SupplierCreditScoreChangeHistoryRspDTO> changeHistoryPage(Long id, PageReqDTO pageReqDTO, SupplierCreditScoreChangeHistoryQueryReqDTO queryReqDTO);

    /**
     * 分数变更
     * @param id 供应商ID
     * @param reqDTO 变更参数
     */
    void scoreChange(Long id, SupplierCreditScoreChangeHistoryCreateReqDTO reqDTO);

    /**
     * 重置问题数量
     * @param id 供应商ID
     */
    void resetProblemCount(Long id);

    /**
     * 根据公司ID查询
     * @param ids 公司ID
     * @return
     */
    Map<Long, SupplierCreditScoreImportantFieldRspDTO> listByIds(List<Long> ids);

}
